Skip to content

Conversation

@rimzici
Copy link
Collaborator

@rimzici rimzici commented May 19, 2021

Has some breaking changes!!

Kelly Campbell and others added 30 commits February 19, 2020 11:18
Addresses issue #72 where SecItemCOpyMatching doesn't return data and
doesn't give an error when the protected files are not yet
available. This will now give an error instead of empty results,
allowing the caller to retry after some delay.
Bumps [acorn](https://github.com/acornjs/acorn) from 5.7.3 to 5.7.4.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](acornjs/acorn@5.7.3...5.7.4)

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [acorn](https://github.com/acornjs/acorn) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](acornjs/acorn@7.1.0...7.1.1)

Signed-off-by: dependabot[bot] <support@github.com>
Allow kSecAttrSynchronizable to be set from deleteItem
Return error if isProtectedDataAvailable = false
…corn-5.7.4

Bump acorn from 5.7.3 to 5.7.4 in /example
The import reference is wrong.
mCodex and others added 30 commits October 27, 2025 18:07
…th withGradleProperties/withPodfileProperties in app.plugin.js
…tion sanitizers; export helpers

Introduce HookSuccessResult, HookFailureResult, HookMutationResult and factory helpers
(createHookSuccessResult / createHookFailureResult). Refactor useSecret and useSecureStorage
to return the unified HookMutationResult and use the new factories. Simplify option
sanitization by stripping hook-only flags with destructuring. Export the new helpers from
the package entrypoint.
Moved HybridSensitiveInfo implementation to new package path and refactored its initialization and key aliasing logic. Updated AliasGenerator to use a service/key hash for deterministic alias names. Added utility methods to ReactContextHolder and ServiceNameResolver. Updated dev dependencies in package.json and yarn.lock. Added example screenshot.
Replace the legacy sample with a simplified "Sensitive Info Playground"
example that leverages useSecureStorage and useSecurityAvailability.
Clean up imports, reduce access-control options to 'open' and 'biometric',
wire up save/reveal/delete/clear/refresh handlers, update ActionButton
behaviour, and refresh styles/layout to match the streamlined UI.
- Update dev deps: @eslint/compat -> 1.4.1, @eslint/js -> 9.39.0, eslint -> 9.39.0, globals -> 16.5.0, nitrogen -> 0.31.4
- Update runtime/example deps: react-native-nitro-modules -> 0.31.4, react-native-safe-area-context -> ^5.6.2
- Update yarn.lock to match dependency bumps
- Docs: change README references from "5.6.0" to "5.6.x" for consistent versioning
…p native cancel codes

- Add CODE_OF_CONDUCT
- Bump LICENSE copyright range to 2016-2025
- Android:
  - Introduce SensitiveInfoException.AuthenticationCanceled and throw/resume with it when user cancels biometric/device-credential prompts
  - Simplify device credential flow to always return cipher after prompt
- iOS:
  - Map relevant OSStatus values to an E_AUTH_CANCELED runtime error for friendly messaging
- Internal errors:
  - Add AUTH_CANCELED marker and helper hasErrorMarker/isAuthenticationCanceledError
  - Centralize detection of auth-cancelled errors
- Hooks & utilities:
  - Export and use isAuthenticationCanceledError in error-utils
  - Create user-friendly hook error message for canceled auths and export detector
  - Update hooks (useSecretItem, useHasSecret, useSecureOperation, useSecureStorage, useSecurityAvailability) to treat auth cancellations as non-fatal: preserve/clear state appropriately and avoid surfacing HookError when user dismisses prompts
  - Add applyError helper in useSecureStorage to centralize error handling
  - Update hook types and exports
- Nitro/native layers & types:
  - Type and formatting fixes across sensitive-info.nitro.ts, internal/native, options, core/storage and index exports
- Tests & tooling:
  - Apply consistent code style (semicolons, trailing commas) across tests and configs
  - Update many test files to match changes and ensure behavior for canceled auth flows
- Misc:
  - Update package.json description
  - ESLint config formatting fixes

This change makes authentication prompt cancellations explicit (E_AUTH_CANCELED) and prevents noisy error states in hooks when users dismiss biometric / device credential prompts.
…ample iOS Podfile.lock deps

- Apply consistent TypeScript formatting (semicolons, trailing commas, minor punctuation) across hook modules:
  src/hooks/{error-utils,useAsyncLifecycle,useHasSecret,useSecret,useSecretItem,useSecureOperation,useSecureStorage}.ts
- Update example/ios/Podfile.lock dependency versions/checksums:
  - SensitiveInfo -> 6.0.0-rc.8
  - NitroModules -> 0.31.4
  - react-native-safe-area-context -> 5.6.2
…el handling

- Replace direct SecItemCopyMatching calls with performCopyMatching that ensures the Sec API is invoked on the main thread.
- Stop treating errSecInteractionNotAllowed as a user cancellation; only errSecUserCanceled is considered a cancellation.

chore(package): update/normalize keywords in package.json
…robe security on main thread

- Invoke simulator biometric prompt (when needed) before calling SecItemCopyMatching so simulator flows mirror device auth and cancellation maps to a consistent RuntimeError.
- Add performSimulatorBiometricPromptIfNeeded helper that evaluates LAContext on the main thread and surfaces user-cancel errors.
- Ensure SecurityAvailabilityResolver probes capabilities on the main thread and correctly distinguishes simulator biometry/secure-enclave availability.
- Update example Podfile.lock: SensitiveInfo -> 6.0.0-rc.10 and CocoaPods -> 1.16.2.
…nality

- Refactored the project structure to separate components into a dedicated directory.
- Introduced a new App component with secure storage capabilities using react-native-sensitive-info.
- Added ActionButton, ActionsPanel, Card, Header, ModeSelector, SecretForm, SecretsList components for improved UI and functionality.
- Implemented secure storage logic including saving, revealing, removing, and clearing secrets.
- Enhanced user experience with loading states and error handling.
- Updated configuration files for Babel, Metro, and React Native.
- Added utility functions for error formatting and constants for default values.
- Improved ESLint and Prettier configurations for better code quality.
Upgrades Android biometric dependency to androidx.biometric:biometric-ktx:1.4.0-alpha02 and updates usage to prefer setConfirmationRequired for improved UX. Refactors HybridSensitiveInfo to return a Variant_NullType_SensitiveInfoItem when no entry is found, improving type safety and compatibility. Also enables Gradle parallel builds in the example, and updates iOS and JS dependencies to latest React Native and NitroModules versions.
Changed the HybridSensitiveInfo class and its methods to public to allow access from outside the module. Also updated the getItem method to return a Variant_NullType_SensitiveInfoItem type for better nullability handling.
Bumps [bigdecimal](https://github.com/ruby/bigdecimal) from 3.3.1 to 4.0.0.
- [Release notes](https://github.com/ruby/bigdecimal/releases)
- [Changelog](https://github.com/ruby/bigdecimal/blob/master/CHANGES.md)
- [Commits](ruby/bigdecimal@v3.3.1...v4.0.0)

---
updated-dependencies:
- dependency-name: bigdecimal
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…imal-4.0.0

chore(deps): bump bigdecimal from 3.3.1 to 4.0.0 in /example
Bumps [bigdecimal](https://github.com/ruby/bigdecimal) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/ruby/bigdecimal/releases)
- [Changelog](https://github.com/ruby/bigdecimal/blob/master/CHANGES.md)
- [Commits](ruby/bigdecimal@v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: bigdecimal
  dependency-version: 4.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…imal-4.0.1

chore(deps): bump bigdecimal from 4.0.0 to 4.0.1 in /example
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.